The each function takes three arguments. The first is a list which the each function
will iterate through. The seccond is a variable to store the element in so that it
can be accesed in argument three. Argument three describes what to do for each element.
In this case we iterate through list l1 and temporarily save each element in the y variable.
Then using the third argument we write Element: <element value> followed by a new line. When
using a has two formals may be supplied.
------------------------------------------------------------------------------------------


(define l1 (list 1 2 3 4 5))
(define l2 (assoc (pair 1 "one") (pair 2 "two") (pair 3 "three")))

(each l1 y 
  (display "Element: ")
  (write y))

(define test (function (x) (each x k v
  (display "Element: Key - ")
  (display k) (display " Value - ") (write v))))

(test l2)
